SNMP | 您所在的位置:网站首页 › mib browser 使用教程 › SNMP |
SNMP的基本知识此处就不再介绍了,就默认大家已经会了,本文重点是MIB的学习及实践。 MIB (Managed Information Base)管理信息库 保存被管对象信息的(虚拟)数据库被管对象用SMI定义被管对象为树形结构类似OSI, SNMP的被管对象也被组织在注册树中![]() directory(1): 为与OSI directory 相关的、将来的应用而保留 mgmt(2): 用于在IAB批准的文档中定义的对象 experimental(3): 用于表示在Internet 实验中应用的对象 private(4): 用于标识专用对象 : 目前只定义了一个子节点:enterprise各厂商的mib在enterprise 中分别注册http://www.iana.org/assignments/enterprise-numbers 以RFC1155 MIB库介绍 SNMP的数据类型和结构![]() ![]() ![]() ![]() 可以看到完善后的宏更为直观易懂,包含了"SYNTAX", “ACCESS”,“STATUS”, value 等属性。 定义表格 使用SEQUENCE、SEQUENCE OF来定义表格,注意要给出IndexPart参数 具有参考下方实例。 MIB库实际创建系统:Windos 10 21H1 (由于win10很烂的更新,不同版本会遇到不同的状况,下面是我遇到的问题) 软件:iReasoning MIB Browser 1、安装SNMP Agent![]()
找到这个,安装
手机店名称 – 字符串,只读 手机店地址 – 字符串,只读 手机店老板姓名 – 字符串,读写 手机店手机总数 – 整数,只读 手机库存表 * 手机型号 – 字符串,具备唯一性,索引列 * 手机生产厂商 – 字符串,只读 * 手机CPU核数 – 整数,只读 * 手机内存大小 – 整数,只读。单位:GB * 手机存储大小 – 整数,只读。单位:GB * 该型号手机的库存数量 – 整数,只读要求:可通过 MIB Browser 成功加载。 SHOUJIDIAN-MIB DEFINITIONS ::= BEGIN -- 为注释,不影响代码 -- 引用RFC1155 和 RFC1212 IMPORTS enterprises, Counter FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212; --定义enterprises下shoujidian节点 shoujidian OBJECT IDENTIFIER ::= { enterprises 10000 } --为了方便,将OCTET STRING和INTEGER 定义为自己习惯的字符 String ::= OCTET STRING Int ::= INTEGER --手机店名称 --用宏定义创建对象StoreName,OCTET STRING 类型,长度0-10,只读,强制型,位于shoujidian 节点1位置 StoreName OBJECT-TYPE SYNTAX String (SIZE(0..10)) ACCESS read-only STATUS mandatory DESCRIPTION "cell phone store's name" ::= { shoujidian 1 } --手机店地址 StoreAddress OBJECT-TYPE SYNTAX String (SIZE(0..10)) ACCESS read-only STATUS mandatory DESCRIPTION "cell phone store's address" ::= { shoujidian 2 } --手机店老板姓名 BossName OBJECT-TYPE SYNTAX String (SIZE(0..10)) ACCESS read-write STATUS mandatory DESCRIPTION "name of cell phone store's boss" ::= { shoujidian 3 } --手机店手机总数 NumofPhones OBJECT-TYPE SYNTAX Int (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "number of phones " ::= { shoujidian 4 } --库存信息 --创建table类型repertory,用SEQUENCE OF数据类型,位于shoujidian 5节点位置 repertory OBJECT-TYPE SYNTAX SEQUENCE OF Repertory ACCESS not-accessible STATUS mandatory DESCRIPTION "Information of repertory" ::= { shoujidian 5 } --列表下创建子对象,同时将其作为索引列。此处使用子对象PhoneModel作为索引。 repertorySituation OBJECT-TYPE SYNTAX Repertory ACCESS not-accessible STATUS mandatory DESCRIPTION "cellphone model." INDEX { PhoneModel } ::= { repertory 1 } --声明Repertory所包含的对象及类型,用sequence 创建表格类型的对象 Repertory ::= SEQUENCE{ PhoneModel String, Producter String, CPUNums Int, RAM Int, Storage Int, RepertoryNum Int } --分别创建对象 PhoneModel OBJECT-TYPE SYNTAX String (SIZE(0..10)) ACCESS read-only STATUS mandatory DESCRIPTION "different type of cellphones" ::= { repertorySituation 1 } Producter OBJECT-TYPE SYNTAX String (SIZE(0..10)) ACCESS read-only STATUS mandatory DESCRIPTION "producter" ::= { repertorySituation 2 } CPUNums OBJECT-TYPE SYNTAX Int (0..1000) ACCESS read-only STATUS mandatory DESCRIPTION "number of CPU kernals" ::= { repertorySituation 3 } RAM OBJECT-TYPE SYNTAX Int (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "Capacity of the memory module, units: GB" ::= { repertorySituation 4 } Storage OBJECT-TYPE SYNTAX Int (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "Storage of cellphone, units: GB" ::= { repertorySituation 5 } RepertoryNum OBJECT-TYPE SYNTAX Int (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "quantity in stock" ::= { repertorySituation 6 } --结束标志 END |
CopyRight 2018-2019 实验室设备网 版权所有 |